package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc ImplementSchemeOpenRecordValidityAuthenticationComReqDto
 * @使用场景
 */
@Data
public class ImplementSchemeOpenRecordValidityAuthenticationComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 配置方案ID
     */
    @NotNull(message = "配置方案ID 不能为空")
    @ApiModelProperty("配置方案ID ")
    private String confSchemeId;

    /**
     * 应用实例类型 TENANT_SPACE:租户空间 ORG:组织 EVA_THEME:评价主题 EVA_TEMP:评价模板 PLATFORM:平台
     */
    @NotNull(message = "应用实例类型不能为空")
    @ApiModelProperty("应用实例类型")
    private String applexType;

    /**
     * 授权类型 CYCLE_TIME:周期时间型 FIXED_TIME:固定时间型 QUANTITY:数量型
     */
    @NotNull(message = "授权类型不能为空")
    @ApiModelProperty("授权类型")
    private String authType;

    /**
     * 授权数量
     */
    @ApiModelProperty("授权数量")
    private Long authorizationNum;

    /**
     * 授权结束时间
     */
    @ApiModelProperty("授权结束时间")
    private Date impowerEndTime;

    /**
     * 同时可以编辑应用对象的数量
     */
    @ApiModelProperty("同时可以编辑应用对象的数量")
    private Long simultaneouslyCanEditObjNum;

    /**
     * 租户空间ID
     */
    @NotNull(message = "租户空间ID不能为空")
    @ApiModelProperty("租户空间ID")
    private String tenantSpaceId;

}
